//
// Created by IL-CH on 2024/6/9.
//
/**
已知函数e^x可以展开为幂级数1+x+x^2/2!+x^3/3!+⋯+x^k/k!+⋯。
现给定一个实数x，要求利用此幂级数部分和求e^x的近似值，求和一直继续到最后一项的绝对值小于0.00001。

输入格式:
输入在一行中给出一个实数x∈[0,5]。

输出格式:
在一行中输出满足条件的幂级数部分和，保留小数点后四位。

输入样例:
1.2
输出样例:
3.3201
*/
#include <stdio.h>
#include <math.h>

double factF(int i)
{
    double k, m = 1;
    for(k = 1; k <= i; ++k)
        m *= k;
    return m;
}

int main()
{
    double x, sum = 1;
    scanf("%lf", &x);

    for (int i = 1; pow(x, i) / factF(i) >= 0.000001; ++i)
        sum += pow(x, i) / factF(i);

    printf("%.4lf", sum);
    return 0;
}
